package visitor.shuangfenpai;

/**
 * @Author: Doream
 * @Date: 2022/1/30 14:27
 */
public class Client {
    public static void main(String[] args) {
        Animal animal = new Animal();
        Animal dog = new Dog();
        Animal cat = new Cat();
        Execute execute = new Execute();
        animal.accpet(execute);
        dog.accpet(execute);
        cat.accpet(execute);
        // 运行的结果，双分派动态绑定
        // 双分派实现动态绑定的本质，就是在重载方法委派的前面加上了继承体系中覆盖的环节，由于覆盖是动态的，所以重载就是动态的了
        //Animal
        //dog
        //cat
    }
}
